﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace OpGen.Compiler
{
    /// <summary>
    /// Stellt die Typen Deklaration dar
    /// </summary>
    public class TypeInfo
    {
        /// <summary>
        /// Erstellt eine neue Instanz der TypeInfo-Klasse
        /// </summary>
        public TypeInfo()
        {
            this.Type = Types.NONE;
        }

        /// <summary>
        /// Liefert den Typen, oder legt ihn fest
        /// </summary>
        public Types Type { get; set; }

        /// <summary>
        /// Gibt an ob es sich um ein List Objekt handelt, oder legt ihn fest
        /// </summary>
        public bool IsList { get; set; }

        /// <summary>
        /// Liefert den Referenztype
        /// </summary>
        public Element ReferenceElement { get; set; }

        /// <summary>
        /// Liefrt den Namen des Referenztypes
        /// </summary>
        public string ReferenceName { get; set; }
    }
}
